package com.portme.client;

import com.google.gwt.user.client.rpc.RemoteService;
import com.google.gwt.user.client.rpc.RemoteServiceRelativePath;
import com.portme.shared.ClientCustomTab;
import com.portme.shared.ClientHomePage;
import com.portme.shared.ClientPost;
import com.portme.shared.LoginInfo;
import com.portme.shared.UserProfile;

/**
 * The client side stub for the RPC service.
 */
@RemoteServiceRelativePath("greet")
public interface GreetingService extends RemoteService {
	String greetServer(String name) throws IllegalArgumentException;
	
	LoginInfo getLoginUrl() throws Exception;
	
	ClientCustomTab createTab(String tabTitle) throws Exception;

	UserProfile getUserPortfolio(String user) throws Exception;
	
	ClientPost createPost(Long tabId, String title, String text) throws Exception;
	
	String setTheme(String themeName) throws Exception;
	
	ClientHomePage setHomePage(String siteTitle, String pitchText, String about,
			String contact) throws Exception;
	
	ClientPost addPostToHomePage(Long postId) throws Exception;

	ClientPost editPost(Long postId, String title, String text);

	Boolean deletePost(Long postId);
}
